`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2024/04/28 13:10:29
// Design Name: 
// Module Name: bd_irq
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module bd_irq
(
    input   ui_clk                  ,
    input   user_irq_en_o           ,
    input   fdma_wirq               ,
    input   [7:0]wbuf_sync_o        ,

    output  reg [7:0]xdma_irq_req   

    );

reg           fdma_wirq_r = 1'b0;


always @(posedge ui_clk) fdma_wirq_r <= fdma_wirq;

always @(posedge ui_clk or negedge user_irq_en_o)begin
    if(user_irq_en_o == 1'b0)begin
        xdma_irq_req <= 8'd0;
    end
    else if((fdma_wirq_r == 1'b0 & fdma_wirq == 1'b1))begin     //fdma_wirq 的上升沿来临,一次写入完成
        xdma_irq_req <= 0;
        xdma_irq_req[wbuf_sync_o[7:0]] <= 1'b1;                 //告诉xdma_irq_in那个缓存完成了写入
    end
end



endmodule
